In any network-based information system, there exist two basic functions: (1) moving of data from one node to another and (2) processing of such data. These two functions—being different from each other in their own nature—are generally mapped onto two fundamentally different types of resources which we will herein refer as the forwarders (capable of moving data) and the processors (capable of processing data), respectively. For instance, in the XV century, kingdoms taking the role of data processors communicated with each other using various types of forwarding resources such as boats or horses. More in modern times, computer hosts acting as data processors exchange information with each other using networks of forwarding nodes consisting of routers or switches.
A main objective in such networked systems resides in the identification of optimal forwarding policies that maximize the total amount of data processed by the system per unit of time—commonly referred as the throughput of the system. Generally speaking, such objective can be met by conveying an optimal amount of feedback from the processors to the forwarders, which is then used by the latter to decide how data is forwarded. This concept is illustrated in FIG. 1, where the processor node 105 shares part of its output with the forwarder node 104, which in turn uses such feedback 110 to execute a locally optimal forwarding decision 107/109. The amount of information fed back 110 to the forwarders defines a continuum of possible designs: on one edge of this continuum, if no feedback at all is provided, the forwarders can only implement static forwarding policies, which in general are sub-optimal for systems dealing with a dynamic input; on the other edge, all the processing output generated from the processors is fed back to the forwarder, effectively replicating the processing function onto the forwarder and therefore breaking the nature of the networked architecture. In general, an optimal trade-off will therefore be found somewhere between these two limits.
FIG. 2 presents an equivalent interpretation of this trade-off based on its cost analysis: a certain budget has to be distributed amongst the forwarder 201 and the processor nodes 202; the curve 204 corresponds to the set of possible designs derived by making such allocation and the cost isolines 203 represent lines of equal cost; with this configuration, the optimal design will be located where the curve of designs 204 is tangent to a cost isoline.